home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / linux-bo / etherboo.000 / etherboo / etherboot-2.0 / netboot-freebsd / Makefile.16 < prev    next >
Makefile  |  1996-06-30  |  4KB  |  146 lines

  1. #    Makefile,v 1.4 1994/12/31 17:16:49 jkh Exp
  2. #
  3. # Makefile for NETBOOT
  4. #
  5. # Basic Options:
  6. #    -DVERSION    - Set the version string (but see comment in main.c)
  7. #    -DASK_BOOT    - Ask "Boot from Network (Y/N) ?" at startup
  8. #    -DROMSIZE    - Size of EPROM - Must be set (even for .COM files)
  9. #    -DRELOC        - Relocation address (usually 0x90000)
  10. #                                                     ^^^^^^^
  11. #                         has to be changed to 0x98000 for loading Linux kernel
  12. #       -DPRIORIZEBOOTPKERNEL
  13. #                       - first honor the kernel name of the BOOTP reply
  14. #                         before trying defaults
  15. #       -DBOOTPKERNELONLY
  16. #                       - never use TFTP for loading default files; the
  17. #                         BOOTP reply has to set a valid kernel name
  18. #
  19. # NS8390 Options:
  20. #    -DINCLUDE_WD    - Include Western Digital/SMC support
  21. #    -DINCLUDE_NE    - Include NE1000/NE2000 support
  22. #    -DINCLUDE_3COM  - Include 3c503 support
  23. #       -D_3COM_USE_AUI - Disable transceiver on 3c503 by default
  24. #    -DNE_BASE    - Base I/O address for NE1000/NE2000
  25. #    -DNE_NOSCAN    - Do not try to automatically find NEx000 I/O address
  26. #       -D_3COM_BASE    - Base I/O address for 3c503
  27. #    -DWD_DEFAULT_MEM- Default memory location for WD/SMC cards
  28. # XXX nothing depends on this Makefile so you must run `make clean' after
  29. # changing an option.
  30. #
  31.  
  32. CC=    bcc -0 -ansi
  33. LD=    ld86 -0
  34. GCC=    gcc
  35.  
  36. PROG=    size86 objdump86 makerom ne.com ne.rom wd.com wd.rom \
  37.     3c503.com 3c503.rom 3c509.com 3c509.rom
  38. # Order is very important on the SRCS line for this prog
  39. SRCS=    start16.S  main.c linuxloader.c misc.c bootmenu.c
  40. OBJS=   start16.o  main.o linuxloader.o misc.o bootmenu.o
  41. ROBJS=  start16.ro main.o linuxloader.o misc.o bootmenu.o
  42. TOBJS=  start16.ro test.o misc.o
  43.  
  44. CFLAGS=        -DVERSION=\"2.0\" -DROMSIZE=${ROMSIZE} -DRELOC=${RELOCADDR}
  45. CFLAGS+=        -DPRIORIZEBOOTPKERNEL
  46. WDFLAGS=    -DINCLUDE_WD -DWD_DEFAULT_MEM=0xD0000
  47. T503FLAGS=    -DINCLUDE_3COM -D_3COM_BASE=0x300
  48. T509FLAGS=
  49. NEFLAGS=    -DINCLUDE_NE -DNE_BASE=0x300
  50. CLEANFILES=    ${OBJS}
  51. CLEANFILES+=    size86 objdump86 makerom start16.ro wd.o 3c503.o ne.o 3c509.o test.o *.com *.rom *.tmp *.tst
  52. ASFLAGS=    #-A-l -A$*.rl
  53. LDFLAGS+=
  54.  
  55. ROMSIZE=16384
  56. RELOCADDR=0x98000
  57.  
  58. .SUFFIXES:    .ro .tst .rom .com
  59.  
  60. all: ${PROG}
  61.  
  62. clean:
  63.     ${RM} -rf ${CLEANFILES}
  64.  
  65. .S.ro:
  66.     ${CC} ${CFLAGS} ${ASFLAGS} -DBOOTROM -o $@ -c $<
  67.  
  68. .S.o:
  69.     ${CC} ${CFLAGS} -o $@ -c $<
  70.  
  71. .o.tst:
  72.     ${LD} ${LDFLAGS} -o $*.tmp ${TOBJS} $*.o libbcc.a
  73.     size86 $*.tmp
  74.     objdump86 $*.tmp > $@
  75.     makerom $@
  76.  
  77. .o.rom:
  78.     ${LD} ${LDFLAGS} -o $*.tmp ${ROBJS} $*.o libbcc.a
  79.     size86 $*.tmp
  80.     objdump86 $*.tmp > $@
  81.     makerom $@
  82.  
  83. .o.com:
  84.     ${LD} ${LDFLAGS} -o $*.tmp ${OBJS} $*.o libbcc.a
  85.     size86 $*.tmp
  86.     objdump86 $*.tmp > $@
  87.  
  88. $(OBJS):    linuxdef.h netboot.h
  89.  
  90. wd.o:    ns8390.c linuxdef.h netboot.h
  91.     ${CC} $(CFLAGS) $(WDFLAGS) -o $@ -c $<
  92.  
  93. 3c503.o:    ns8390.c linuxdef.h netboot.h
  94.     ${CC} $(CFLAGS) $(T503FLAGS) -o $@ -c $<
  95.  
  96. 3c509.o:    3c509.c linuxdef.h netboot.h
  97.     ${CC} $(CFLAGS) $(T509FLAGS) -o $@ -c $<
  98.  
  99. ne.o:    ns8390.c linuxdef.h netboot.h
  100.     ${CC} $(CFLAGS) $(NEFLAGS) -o $@ -c $<
  101.  
  102. makerom: makerom.c
  103.     ${GCC} -o $@ -DROMSIZE=${ROMSIZE} makerom.c
  104.  
  105. size86: size86.c
  106.     ${GCC} -o $@ size86.c
  107.  
  108. objdump86: objdump86.c
  109.     ${GCC} -o $@ objdump86.c
  110.  
  111. wd.tst:        makerom start16.ro ${TOBJS} wd.o
  112.  
  113. 3c503.tst:    makerom start16.ro ${TOBJS} 3c503.o libbcc.a
  114.  
  115. ne.tst:        makerom start16.ro ${TOBJS} ne.o libbcc.a
  116.  
  117. 3c509.tst:    makerom start16.ro ${TOBJS} 3c509.o libbcc.a
  118.  
  119. wd.rom:        makerom start16.ro ${ROBJS} wd.o libbcc.a
  120.  
  121. 3c503.rom:    makerom start16.ro ${ROBJS} 3c503.o libbcc.a
  122.  
  123. ne.rom:        makerom start16.ro ${ROBJS} ne.o libbcc.a
  124.  
  125. 3c509.rom:    makerom start16.ro ${ROBJS} 3c509.o libbcc.a
  126.  
  127. wd.com:        start16.ro ${OBJS} wd.o libbcc.a
  128.  
  129. 3c503.com:    start16.ro ${OBJS} 3c503.o libbcc.a
  130.  
  131. ne.com:        start16.ro ${OBJS} ne.o libbcc.a
  132.  
  133. 3c509.com:    start16.o ${OBJS} 3c509.o libbcc.a
  134.  
  135. patch:
  136.     -for i in 3c509.c 3c509.h bootmenu.c linuxdef.h linuxloader.c \
  137.         main.c makerom.c misc.c netboot.h ns8390.c ns8390.h rpc.c \
  138.         README.16 Makefile.16 Makefile.32 start16.S a.out.h size86.c objdump86.c ; \
  139.     do \
  140.         diff -c ../netboot-freebsd-old/$$i $$i ; \
  141.     done > ../patches/patch1.1-2.0
  142.     -for i in test.c ; \
  143.     do \
  144.         diff -c /dev/null $$i ; \
  145.     done >> ../patches/patch1.1-2.0
  146.